package com.cn.jx.manager.dao;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import com.cn.jx.manager.po.Org;

/**
 * <p>OrgRepository 组织部门mapper层操作数据库的接口
 * <p>实现<{@link BaseRepository <tt>公用</tt>}}
 * 
 * @author <h1>jiangxu2  2019年11月21日</h1>
 * @version v1.11.20.2019
 * @since 1.0
 * 
 */
public interface OrgRepository extends JpaRepository<Org,String>,JpaSpecificationExecutor<Org>{
	
	/**<p>定义HQL查询 查询数据库中最大的部门编码值 {@link Org}*/
	@Query("select MAX(orgCode) from Org ")
	public String findMaxOrgCode();
	
	/**<p>定义HQL查询 根据父级id查询下属所有组织部门 {@link Org} <p>有效信息delFlg=0 validFlg=1*/
	@Query("from Org where parentId =:pid and delFlg=0 and validFlg=1 ")
	public List<Org> findAllOrgByParent(@Param(value = "pid") String pid);
	
	
	@Modifying
	@Query("update Org set leader=:leader where id =:id ")
	public void updateOrgLeader(@Param(value = "leader") String leader,@Param(value = "id") String id);
	
}
